glrenderer: Add render items for child nodes
authorTimm Bäder <mail@baedert.org>
Fri, 6 Jan 2017 22:03:49 +0000 (23:03 +0100)
committerTimm Bäder <mail@baedert.org>
Fri, 31 Mar 2017 07:50:39 +0000 (09:50 +0200)
gsk/gskglrenderer.c

index 4412084ef98db4866e0bf1c980f3811c30c45114..67bd4f9694e2b9b8b061003b73f5f2ce3895ff62 100644 (file)
@@ -840,6 +840,52 @@ gsk_gl_renderer_add_render_item (GskGLRenderer           *self,
       }
       break;
 
+    case GSK_COLOR_MATRIX_NODE:
+      {
+        GskRenderNode *child = gsk_color_matrix_node_get_child (node);
+
+        gsk_gl_renderer_add_render_item (self, projection, modelview, render_items, child, ritem);
+      }
+      return;
+
+    case GSK_SHADOW_NODE:
+      {
+        GskRenderNode *child = gsk_shadow_node_get_child (node);
+
+        gsk_gl_renderer_add_render_item (self, projection, modelview, render_items, child, ritem);
+      }
+      return;
+
+    case GSK_REPEAT_NODE:
+      {
+        GskRenderNode *child = gsk_repeat_node_get_child (node);
+
+        gsk_gl_renderer_add_render_item (self, projection, modelview, render_items, child, ritem);
+      }
+      return;
+
+    case GSK_BLEND_NODE:
+      {
+        GskRenderNode *child = gsk_blend_node_get_bottom_child (node);
+
+        gsk_gl_renderer_add_render_item (self, projection, modelview, render_items, child, ritem);
+
+        child = gsk_blend_node_get_top_child (node);
+        gsk_gl_renderer_add_render_item (self, projection, modelview, render_items, child, ritem);
+      }
+      return;
+
+    case GSK_CROSS_FADE_NODE:
+      {
+        GskRenderNode *child = gsk_cross_fade_node_get_start_child (node);
+
+        gsk_gl_renderer_add_render_item (self, projection, modelview, render_items, child, ritem);
+
+        child = gsk_cross_fade_node_get_end_child (node);
+        gsk_gl_renderer_add_render_item (self, projection, modelview, render_items, child, ritem);
+      }
+      return;
+
     case GSK_CONTAINER_NODE:
       {
         guint i, p;